专利摘要:
METHOD FOR DEPLOYING AN HTTP-BASED CONTINUOUS FLOW SERVICE. The present invention relates to a method for implementing a streaming service based on Hypertext Transfer Protocol (HTTP) in the embodiments of the present invention. The method includes: a server (1302) that receives a request from a client, and returns (S304) to the client according to the request for a media presentation description file, a response that carries the media description file. media presentation; the server (1302) setting up (S306) a time synchronization relationship with the client; and the server (1302) which receives (S312) a uniform resource locator from the client, obtains a corresponding media fragment file, and returns the media fragment file to the client for display on the client, where the uniform resource locator is a uniform resource locator of a media fragment that is determined by the client is required to view, and is used for the client to request the media fragment file from the server (1302)
公开号:BR112012001150B1
申请号:R112012001150-2
申请日:2010-11-02
公开日:2021-06-29
发明作者:Shaobo Zhang
申请人:Snaptrack, Inc;
IPC主号:
专利说明:

FIELD OF THE INVENTION
[0001] The present invention relates to the field of communication technologies, and in particular, to a method, network system, server and network device to implement transmission services based on Hypertext Transfer Protocol (HTTP). BACKGROUND OF THE INVENTION
[0002] With the popularization of the Internet, the broadcast service develops rapidly. The transmission service (streaming) can be based on a Hypertext Transfer Protocol (Hypertext Transfer Protocol, HTTP). A large number of basic installations, including web servers and content delivery networks (CDN), support HTTP transport. HTTP-based streaming media is becoming a trend.
[0003] The broadcast service comes in two different types: recorded playback and live playback. Recorded playback means that the media content played back is created beforehand and then played back, and not in real time. Movie playback is a typical example of recorded playback. Live playback is related to recorded playback, and refers to playing media content in real time. A typical example of live playback is a sports match rebroadcast, where the broadcaster creates the content in real-time, including content encoding and editing, and the receiver receives the content synchronously as it is created by the broadcaster in real-time.
[0004] In a traditional broadcast service, after creating a connection to the server, the client uses the specially defined time as "now" (now) to instruct the server to play the content, and then the client can receive the content when alive. In this process, the client does not need to know the storage location of the content, and the server as a control entity sends the current content to the client. In an HTTP-based broadcast service, the server is a passive service provider, and the server can only send a file or a portion of a file to the client as requested by the client, and the client needs to indicate the requested file (with usage of a URL), or a part of a file (using a URL plus a location range), expressly.
[0005] In the process of implementing the present invention, the prior art has at least the following problems: In the HTTP-based streaming service in the prior art, live media data is generated in real time, and the client is unable to to know the exact location of the currently generated media data beforehand. In this way, the client is unable to request the newly created media data, which makes it difficult for the live reproduction service. SUMMARY OF THE INVENTION
[0006] Embodiments of the present invention provide a method, server, client device and network system to implement a transmission service based on HTTP (Hypertext Transfer Protocol) so that a client can obtain data location information server in order to deploy an HTTP-based streaming media live
[0007] An embodiment of the present invention provides a method for deploying an HTTP-based transmission service, which includes: receiving, by a server, a request from a client, and returning, according to a request for a description file. media presentation, a response that takes the presentation description file; setting up a time synchronization relationship between the server and the client; ereceive a uniform resource locator from the client, obtain a media fragment file, and return the media fragment file to the client for playback on the client, where the uniform resource locator is a uniform resource locator of a media fragment which is requested to be played and is determined by the client, and is used by the client to request a media fragment file from the server.
[0008] An embodiment of the present invention provides another method to implement a transmission service based on HTTP (Hypertext Transfer Protocol), which includes: sending, by a client, a request to a server, where the request is used to the server returns, according to the request, a response to the client, the response carrying a media presentation description file; sets up, by the client, a time synchronization relationship with the server; and determine a uniform resource locator URL of a media fragment that is requested to be played; by the client, send to the server a uniform resource locator that corresponds to the media fragment that is requested to be played, to request a file media fragment; ereceive, by the client, the media fragment file that matches the uniform resource locator and is returned by the server and play the media fragment file.
[0009] An embodiment of the present invention provides another method to implement a transmission service based on HTTP (Hypertext Transfer Protocol), which includes: sending, by a server, start time and current live playback time from the server to a client such that the client determines, according to the start time and current live play time of the server, the location indication information of a piece of media that is requested to be played by the client; by the server, receive , from the customer, the location indication information of the media fragment that is requested to be played; and by the server, obtain a media fragment file that matches the location indication information according to the location indication information, and send the media fragment file to the client.
[0010] An embodiment of the present invention provides another method for deploying a transmission service based on HTTP (Hypertext Transfer Protocol), which includes: receiving the start time and current live playback time from a server of the server; , according to the start time and current live playing time of the server, location indication information of a media fragment that is requested to be played; send, to the server, the location indication information of the fragment of media that is requested to be played; receive a media snippet file that matches the server's location indication information; and play the media fragment file.
[0011] An embodiment of the present invention provides a server, which includes: a time information sending unit, configured to send the start time and current live playback time from the server to a client in a manner for the client to determine, according to the starting time and current live playing time of the server, location indication information of a media fragment file which is requested to be played; a location indication information receiving unit, configured to receive , from the client, the location indication information of the media fragment file that is requested to be played; a media fragment file get unit, configured to obtain the media fragment file according to the indication information locations which are of the media fragment file that is requested to be played on the client; and a media fragment file send unit, configured to send the media fragment file to the client.
[0012] An embodiment of the present invention provides a client device, which includes: a time information receiving unit, configured to receive the start time and current live playback time of a server from the server; a unit of determination, configured to determine, according to the start time and current live playing time of the server, the location indication information of a media fragment that is requested to be played; a unit of sending indication information a media fragment file configured to send to the server the location indication information of a media fragment file that is requested to be played; a media fragment file receiving unit configured to receive from the server , a media fragment file that corresponds to the location indication information of the media fragment that is requested to be played; and a playback unit, configured to play the media fragment file.
[0013] An embodiment of the present invention provides a network system, which includes: a server, configured to: send the start time and current live playback time from the server to a client in a manner for the client to determine, in accordance with the server's start time and current live playback time, location indication information of a media fragment that is requested to be played; receive, from the customer, the information indicating the location of the piece of media that is requested to be played; get a media fragment file according to the location indication information which is of the media fragment requested to be played on the client; and send the media fragment file to the client; and a client device, configured to: receive the start time and current live playing time of the server from the server, determine, according to the start time and current live playing time of the server, indication information. location of the media fragment file that is requested to be played, send to the server, the location indication information of the media fragment that is requested to be played, receive the media fragment file that corresponds to the indication information location of the media fragment requested to play on the server, and play the media fragment file.
[0014] Through the method, server, client device and network system to implement a transmission service based on HTTP (Hypertext Transfer Protocol) in the modalities of the present invention, the server sends the start time and current playback time live from the server to the client, so that the client can determine, according to the start time and current live play time of the server, the location indication information of the media fragment that is requested to be played, in order to deploy an HTTP-based live streaming media service. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] To describe the technical solutions of the present invention more clearly, the following describes the accompanying drawings involved in the embodiments of the present invention. Of course, the accompanying drawings described below are some embodiments of the present invention, and persons skilled in the art can derive other drawings from the embodiments without making any creative effort.
[0016] Figure 1 is a flowchart of a method for deploying an HTTP-based transmission service according to an embodiment of the present invention;
[0017] Figure 2 is a flowchart of another method for deploying an HTTP-based transmission service according to an embodiment of the present invention;
[0018] Figure 3 is a flowchart of yet another method for deploying an HTTP-based broadcast service according to an embodiment of the present invention;
[0019] Figure 4 is a schematic structural diagram of a media presentation description file according to an embodiment of the present invention;
[0020] Figure 5 is a schematic diagram of a form of media file organization according to an embodiment of the present invention;
[0021] Figure 6 is a schematic diagram of a media fragment according to an embodiment of the present invention;
[0022] Figure 7 is a schematic structural diagram of a server according to an embodiment of the present invention;
[0023] Figure 8 is a schematic structural diagram of another server according to an embodiment of the present invention;
[0024] Figure 9 is a schematic structural diagram of yet another server according to an embodiment of the present invention;
[0025] Figure 10 is a schematic structural diagram of a client device according to an embodiment of the present invention;
[0026] Figure 11 is a schematic structural diagram of another client device according to an embodiment of the present invention;
[0027] Figure 12 is a schematic structural diagram of yet another client device according to an embodiment of the present invention; and
[0028] Figure 13 is a schematic structural diagram of a network system according to an embodiment of the present invention. DETAILED DESCRIPTION OF MODALITIES
[0029] The technical solutions of embodiments of the present invention are clearly and understandably described with reference to the accompanying drawings in the embodiments of the present invention. Of course, the embodiments to be described are some and not all of the embodiments of the present invention. All other embodiments derived by those skilled in the art from the embodiments given in the present invention without any creative effort shall be within the scope of the present invention.
[0030] The following describes the terms involved in the embodiments of the present invention:
[0031] Media Fragment (Fragment): may refer to a form of media data encapsulation. A media snippet includes media data of a time range and information related to media data. Each media snippet can be stored as an independent file, called a media snippet file.
[0032] Media Presentation Description File (Media Presentation Description File): Describes basic media presentation information, for example, a media component, a code data attribute (for example, attributes of a component video include an encoding type and a decoding type, bit rate of a video, frame rate, resolution and the like), live or non-live playback, time period of the media fragment, and how to get relevant media data .
[0033] Media component (Media component): a component in media presentation, eg video component, audio component, text component or the like.
[0034] Media Component Range (Media Component Range): Corresponds to a media component of a time window. All time intervals of a media component are concatenated together to form a media component totality. Media component time intervals do not overlap with each other.
[0035] Alternative representation (Alternative representation): can refer to that group of parameters, such as certain bit rate and resolution in time and space, which are used to express the code representation of a media component.
[0036] Code Segment (Segment): Code data of certain media component at a time interval. By specifying a media component, media component range, and alternate representation, a client can request a code segment. A code segment can be decoded independently from other code segments.
[0037] Media code data: data generated as a result of encoding a certain media component, for example, data generated as a result of encoding a video according to a certain bit rate, frame rate, or resolution.
[0038] As shown in Figure 1, an embodiment of the present invention provides a method to deploy a transmission service based on HTTP. Each piece of media from the media presentation is stored on a server in the form of a single file. In the embodiment of the present invention, the method includes the following steps:
[0039] S102. A server sends the server's start time and current live playback time to a client.
[0040] Live playback start time can be obtained in different ways. When the client requests a live playback service, the client requests a media presentation description file from the server first. The server can send the live playback start time to the client by returning a response that takes a HTTP HyperText Transfer Protocol header last modification. Time at last modification is the last modification time of the media presentation description file. The file is generated when a live playback starts, so the time can be estimated as the live playback start time.
[0041] The live playback start time can be transmitted in the media presentation description file to be sent to the client.
[0042] The server sends the live playback start time to the client via an HTTP Hypertext Transfer Protocol header Date in a response returned by the server to the client after the client requests the presentation description file. media. Time in Date is the time to originate the response, and when the server send delay is ignored, the time is the current server time.
[0043] S104. The client receives the start time and current live playing time of the server from the server, determines, according to the start time and current live playing time of the server, the location indication information of a file. media fragment that is requested to be played, and sends, to the server, the location indication information of the media fragment file that is requested to be played.
[0044] The client calculates and saves the time offset according to the server's current time and the client's local time, and can easily get the server time that corresponds to any local time according to the time offset. The transmission delay is ignored in the process.
[0045] More specifically, in the embodiment of the present invention, the client can obtain the time period of the media fragment locally or from the server. The parameter can be obtained from the media presentation description file (the parameter can also be pointed out beforehand or standardized). The location information of the media fragment that is requested to be played is determined according to the live playback start time, the current server time, and the time period of the media fragment. Location information can be in various forms such as a sequence number of the media fragment that is requested to be played. The client can send the sequence number to the server directly, and the server converts the sequence number into the location (such as URL) of the media fragment file. The client can also obtain a uniform resource finder template locally or from the server, and generate, according to the sequence number and the uniform resource finder template, a uniform resource finder URL that matches the fragment file of media that is requested to be played.
[0046] Location indication information in the embodiment of the present invention may be a uniform resource locator (Uniform Resource Locator, URL), or may also be information indicative of a file location, such as a file index number . Location indication information in subsequent modalities may be, but are not limited to, the location indication information described above.
[0047] In this modality, the media fragment that is requested to be played by the client can be a last media fragment that is played live or a media fragment that starts from a specific past time as specified by the client of according to practical requirements. In all subsequent modalities, "a piece of media that is requested to be played" can be, but is not limited to, the one described above.
[0048] In this mode, the location indication information can be transmitted in a fragment of media request sent by the client to the server. In subsequent embodiments, location indication information can be processed in a similar way.
[0049] S106. The server receives the location indication information which is from the media fragment requested to be played on the client.
[0050] S108. The server obtains a media fragment file that matches the location indication information according to the location indication information, and sends the media fragment file to the client.
[0051] S108. The client receives, from the server, a media fragment file that corresponds to the location indication information of the media fragment file that is requested to be played.
[0052] S110. The client plays the media fragment file.
[0053] S112. The client continues to sequentially obtain and play a media file subsequent to the previous media fragment.
[0054] As shown in Figure 2, prior to step S102, the method in the embodiment of the present invention may further include:
[0055] S100-2. When the client requests to obtain a live replay service, the client sends a request to the server.
[0056] In this step, the request sent by the client to the server can take a request for the media presentation description file.
[0057] The media presentation description file can describe basic media data information, for example, time period of the media fragment, a storage location of the media data, a media component (a media component, such as an audio component, a video component, a text component or the like), and media data attributes (for example, video data attributes include an encoding type and a decoding type, a bit rate of a video, a frame rate, a resolution and the like). The file can be generated when a live playback starts. The uniform resource locator model, live playback start time, and media fragment time period mentioned above can be transmitted in the media presentation description file.
[0058] S100-4. The server sends the media presentation description file to the client.
[0059] S100-6. The client receives the media presentation description file from the server.
[0060] The customer can retrieve the uniform resource locator model, live play start time, and media fragment time period from the file to generate the uniform resource locator of the media fragment that is requested to be reproduced.
[0061] The order of steps of the method in the embodiment of the present invention can be adjusted according to practical requirements.
[0062] In the embodiment of the present invention, the live playback start time sent by the server to the client can be transmitted in a last modification HTTP Hypertext Transfer Protocol header or in the media presentation description file, and the current server time that is sent to the client can be transmitted in a Hypertext Transfer Protocol HTTP header Date. However, the embodiment of the present invention is not limited to the protocol and fields described above, and other protocols and fields may also be adopted. When the two fields described above are used, an HTTP protocol is not required to be extended and investments can be saved.
[0063] Through the modality of the present invention, the server sends the start time and current live playback time from the server to the client, so that the client can obtain, according to the start time and current playback time live from the server, the location indication information of the media fragment file that is requested to be played, and still obtain, from the server, a media fragment file that corresponds to the location indication information, so to deploy HTTP-based live streaming media service. Through the modality of the present invention, it is not necessary to extend the HTTP protocol or add additional functions to the server, and the existing basic installations can be made full use, in order to save investments and reduce costs.
[0064] In another embodiment of the present invention, the HTTP-based live streaming media method is described in more detail. As shown in Figure 3, the method in the embodiment of the present invention includes the following steps: S302. When the client requests to obtain a live replay service, the client sends a request to the server. The request can be a GET message, and transmits a request by media presentation description file.S304. The server receives the request for the live playback service from the client, and, according to the request, returns to the client a RESPONSE response that transmits the media presentation description file.
[0065] Especially, the media presentation description file generation time, ie the live playback start time, can be transmitted in the media presentation description file or in a Protocol header last modification HTTP Hypertext Transfer; and the origin (originate) time of the response, that is, the current server time, can be transmitted in an HTTP HyperText Transfer Protocol header Date. In this way, the server notifies the client of the server's start time and current live playback time. The time in "Last Modified" and "Date" can be expressed in Greenwich Mean Time (Greenwich Mean Time, GMT), and the minimum time unit can be seconds. Live playback start time is the time recorded by the server, and the current time counts from the server, and then the two time values from the same source, in order to avoid impact caused by the time difference between the server and the customer.
[0066] S306. The client sets up a time synchronization relationship with the server.
[0067] In this step, the client can calculate and save the time offset ΔT = local time - server's current time according to the server's current time and the local time. According to a time offset ΔT, server time corresponding to any local time is easily obtained.
[0068] S308. The client determines the uniform resource locator URL of the media fragment that is requested to be played.
[0069] The client can calculate the media fragment that is requested to be played, according to the current server time and the live play start time. The media snippet that is requested to be played can be a newly generated media snippet, or a media snippet that starts from a customer-specified past time according to practical requirements.
[0070] For example, a location variable N can be defined. The variable N represents a sequence number of a file to get. According to the server's current time and the live playback start time, the client can calculate a sequence number L of a last most media fragment file that is played live, and assign the file sequence number L to variable N. L can be calculated using the following formula: L=int((T-T0)/Ts), where T is the current server time, T0 is the live playback start time, Ts is the period of time of the media fragment (this parameter can be taken from information sent by the server, or pointed out in advance, or standardized), int() is a rounded function, and int(x) represents a maximum non-integer number. greater than x.
[0071] The client can specify an elapsed time T1 as the observation start time. According to the time offset ΔT between current server time and local time, the server time corresponding to local time is obtained from T2 = T1 - ΔT, where T2 meets: T0 < T2 < T According to the formula L' = int((T2 - T0)/Ts), a sequence number L' of the media fragment file that is watching starting from a specified past time T1 is calculated, and the sequence number L' is assigned to the local variable N.
[0072] In this modality, the creation of a media content is to generate a fragment of media at fixed time intervals. Each media snippet is stored as an independent file on the server, and is called a media snippet file. By replacing the variable in the Uniform Resource Locator template with the sequence number N of the file to be retrieved, the client generates a Uniform Resource Locator (URL) that corresponds to the media fragment.
[0073] S310. The client sends, to the server, a uniform resource locator that matches the media fragment that is requested to be played, to request a media fragment file.
[0074] S312. The server receives the uniform resource locator from the client, obtains a corresponding media fragment file, and returns the media fragment file.
[0075] S314. The client receives the media fragment file returned by the server and plays the file.
[0076] S316. The client modifies the sequence number of the file that is to be subsequently retrieved, that is, generates N = N + 1, and replaces the variable in the URL template with the sequence number to generate a uniform resource locator (URL) that matches the fragment of media to be obtained. Steps S310 through S316 are repeated to continuously request and get media fragment files.
[0077] Upon receipt of a first media fragment file, the client starts playing the media fragment file, and plays the obtained media fragment files sequentially. It should especially be noted that steps S310 to S316 can occur concurrently, ie the client obtains a file with a sequence number N+1 while playing a file with a sequence number N.
[0078] The order of steps of the method in the embodiment of the present invention can be adjusted according to practical requirements.
[0079] The following describes the media presentation description file. The media presentation description file can be generated by the server upon start of a live playback. The file describes basic information of media data to be generated, eg media components, code data attributes (eg attributes of a video component include an encoding type and a decoding type, a bit rate of video, a frame rate and a resolution), live playback or not, time period of the media fragment, how to get relevant media data and the like.
[0080] A structure of a media presentation description file is shown in figure 4. The file is extended based on a basic ISO file and a 3GP file format. This file includes three objects with respect to file layers. "ftyp" identifies a file type, and specifies a specification that a file meets; "moov" includes multiple objects that define metadata of a media presentation; and "meta" includes metadata. Other objects are still housed in each object.
[0081] "moov" includes description about basic media data information. Different "traks" provide descriptions of different media components. For example, trak 1 describes information about a video component, for example, a codec, bit rate, frame rate, and resolution; trak 2 describes information about an audio component, for example, a language, volume, monophonic or stereophonic sound.
[0082] In modality, a location of a media fragment file can be described through a uniform resource locator model (URL model). The uniform resource locator template is a string that ends with a null (null) character, and includes a variable. When a uniform resource locator that is practically used is constructed, the variable in the uniform resource locator model needs to be replaced. For example, the model is http://www.huawei.com/v/audio/a{index}.dat, and when a uniform resource locator is generated, the {index} in the model is replaced by a file number of sequence "8", to obtain the following: http://www.huawei.eom/v/audio/a8.dat.
[0083] The uniform resource locator model describing the location of the media fragment file is stored in an object "dref", the "dref" is included in the object "trak", and the "trak" is included in the object "moov".
[0084] In this example, the time period of the media fragment is included in the object "meta", which is specifically given in "xml".
[0085] A way of organizing a media file in the modality of the present invention is shown in Figure 5.
[0086] The media in Figure 5 includes a video component and an audio component. The video component has three types of code representations of different bitrates, and the audio component has two types of code representations of different languages. The information of each representation and code ido, for example, the basic information of the media, such as a codec type, an encoding rate, a frame rate, a resolution, and a volume, are included in the description file of media presentation in the figure. The media presentation description file describes the location of the media fragment file through a uniform resource locator model. The media presentation description file can also include the time period of the media fragment.
[0087] The embodiment of the present invention provides a media presentation description file. The file may include a uniform resource locator template. The template can be used for the client to generate a uniform resource locator that corresponds to a piece of media that is requested to be played. The Uniform Resource Locator can be used to indicate a location of a media fragment file that is requested to be played. The file can further include the time period of the media fragment, and the time period is used for the client to determine the location information of the media fragment that is requested to be played.
[0088] When live content is created, a media fragment can be generated at fixed time intervals, and each media fragment is stored as an independent file. The media snippet file includes a single media representation, or a combination of different media representations. Each media fragment file can be accessed and uniquely. A filename can include two parts: a base name and a sequence number, such as a1.dat, a2.dat, A file sequence number that corresponds to a first media fragment is 1, and the sequence number increases at a step length of 1 in order of time. Media fragment files that employ the same code representation or the same combination of code representations are stored in the same path, and a uniform resource locator can be used to describe the location of the files.
[0089] Each media fragment file can include a single code representation so that different code representations can be flexibly combined without redundancy, so as to save storage space. Each media snippet can also allow a combination of different code representations, for example a combination of a certain rate video code representation and an audio code representation of a certain language.
[0090] Figure 6 is a schematic diagram of a media fragment according to an embodiment of the present invention. As shown in Figure 6, a media fragment includes the following parts. "moof" is used to describe media fragment metadata. Due to the fact that media are created in real-time in a live playback process, information about all media data is not obtained beforehand. The "moof" includes only basic media information, and describes special metadata of the media fragment. "mdat" is used to encapsulate the fragment's media data, ie encode the fragment, and may include the code representation of a single media component or a combination of code representations of different media components. In a dotted box, "mfra" is an optional part, and is used to describe a random hotspot in the media fragment. A combination of code representations of different media components may be allowed to exist in the media fragment.
[0091] Through the modality of the present invention, the server sends the start time and current live playback time from the server to the client, so that the client can obtain, according to the start time and current playback time live from the server, location cue information of a media shard file that is requested to be played, and still get a media shard file that matches the location cue information from the server, in order to deploy an HTTP-based live streaming media service. Through the modality of the present invention, it is not necessary to extend the HTTP protocol or add additional functions to the server, and the existing basic installations can be made full use, in order to save investment and reduce costs. Furthermore, due to the fact that each media fragment is stored on the server as an independent file, the media fragment can be obtained directly through the location indication information, in order to prevent frequent access of the same index file and improve the efficiency of a live playback.
[0092] As shown in Figure 7, an embodiment of the present invention provides a server, which may specifically be a broadcast server. The server includes: a time information sending unit 702, configured to send the start time and current live playback time from a server to a client, so that the client determines, according to the start time and current server live play time, the location cue information of a media fragment file that is requested to be played, where the location cue information can be from a uniform resource locator (Uniform Resource Locator , URL), or it may also be information indicative of a file location, such as a file index number, and a media fragment that is requested to be played by the client may be a last media fragment that is played live , or a piece of media starting from a specific past time as specified by the customer in accordance with practical requirements; location indication 704, configured to receive, from the client, the location indication information of the media fragment file that is requested to be played; a media fragment obtain unit 706, configured to obtain the fragment file of media from a storage unit according to the location indication information which is of the media fragment requested to be played on the client; and a media shard file send unit 708, configured to send the media shard file to the client.
[0093] As shown in Figure 8, the server may further include: a storage unit 802, configured to store each fragment of transmission media media in the form of a single file. The format of the media fragment is similar to that described in the preceding modality, and is not repeated here. The media fragment file get unit 706 is configured to obtain the media fragment file from storage unit 802 according to the location indication information which is from the media fragment file requested to be played on the client.
[0094] As shown in Figure 9, the server may further include: a uniform resource locator template sending unit 902, configured to send a uniform resource locator template to a client device such that the The client generates, according to the Uniform Resource Locator model, a Uniform Resource Locator that corresponds to the media fragment file that is requested to be played.
[0095] The media shard file get unit 706 is configured to get a media shard file from storage unit 802 according to the uniform resource finder that is of the media shard file requested to be reproduced on the client.
[0096] In the embodiment of the present invention, the live playback start time sent by the server to the client can be transported in a HyperText Transfer Protocol (HTTP) header last-modified file or in a Hypertext Transfer Protocol (HTTP) description file. media presentation; and the current server time sent to the client can be transported in HyperText Transfer Protocol (HTTP) header data. However, the embodiment of the present invention is not limited to the protocol and fields described above, and other protocols and fields may also be adopted. When the two fields described above are used, the HTTP protocol is not required to be extended and investments can be saved.
[0097] The units in the embodiment of the present invention can be together integrated or separately distributed. Units can be combined into one unit, or they can be split into multiple sub-units.
[0098] In the embodiment of the present invention, the server can be a transmission server or the like, and the client device can be a mobile phone, computer, personal digital assistant (Personal Digital Assistant, PDA), small server, home appliance, router, switch, base station, or any electronic device, network device, or computer-related device.
[0099] Throughout the embodiment of the present invention, the sending unit time information from the server sends the live playback start time and the current time from the server to the client, so that the client can obtain, according to the live playback start time and the current server time, the location indication information which is from the media fragment file which is needed to be played by the client, and further obtain the media fragment file corresponding to the information server location indication in order to implement the HTTP-based live streaming media service. There is no need to extend the HTTP protocol or add additional functions to the server, and existing basic installations can make full use of this, so as to save investments and reduce costs. Furthermore, due to the fact that each media fragment is stored on the server's storage unit as an independent file, the media fragment can be obtained directly through the location indication information, in order to avoid frequent access of the same file. index and improve the effectiveness of live playback.
[0100] As shown in Figure 10, an embodiment of the present invention provides a client device, which includes: a timing information receiving unit 1002, configured to receive live playback start time and current time from a server server; a determination unit 1004 configured to determine, according to the live playback start time and the current time of the server, the location indication information of the media fragment file which is required to display, in that the media fragment that is required to be played by the client may be a last media fragment that is played live, or a media fragment that starts from a specific past time as specified by the client in accordance with the requirements of the practice; a location indication information sending unit 1006, configured to send, to the server, the location indication information of the media fragment file from which it is required to xibition, where the location indication information may be a uniform Resource Locator (Uniform Resource Locator, URL) or may also be information indicative of a file location such as a file index number or the like; a receiving unit of media fragment file 1008, configured to receive, from the server, a media fragment file corresponding to the location information of the media fragment file of which display is required; and a playback unit 1010, configured to play the media fragment file.
[0101] As shown in Figure 11, the client device may additionally include: a media fragment time period get unit 1102, configured to obtain the time period of a media fragment, where the time period of the Media fragment can be obtained locally or from the server.
[0102] The determination unit 1004 is configured to determine location information of a piece of media that is required to display, according to the live playback start time, the current time of a server and the time period of the media fragment; and generate location indication information of a media fragment file which is required to display, in accordance with the location information.
[0103] As shown in Figure 12, the client device may additionally include: a uniform resource locator model obtaining unit 1202, configured to obtain a uniform resource locator model, where the uniform resource locator model can be fetched locally or from the server.
[0104] Determination unit 1004 includes: a determination subunit 1004-2, configured to determine a sequence number of the media fragment required to display, according to the live playback start time, the time current server and media chunk time period; and a generation unit 1004-4, configured to generate a uniform resource locator corresponding to the media fragment file from which display is required, according to the sequence number and the uniform resource locator template.
[0105] In the embodiment of the present invention, the live playback start time sent by the server to the client may be transported in a HyperText Transfer Protocol (HTTP) header last-modified file or in a Hypertext Transfer Protocol (HTTP) description file. media presentation; and the current server time sent to the client can be transported in HyperText Transfer Protocol (HTTP) packet header data. However, the embodiment of the present invention is not limited to the protocol and fields described above, and other protocols and fields may also be adopted. When the two fields described above are used, the HTTP protocol is not required to extend and investments can be saved.
[0106] The units of this modality can be integrated together or separately distributed. Units can be combined into one unit, or split into multiple subunits.
[0107] In the embodiment of the present invention, the server can be a transmission server or the like, and the client device can be a mobile phone, computer, personal digital assistant (Personal Digital Assistant, PDA), small server, home appliance, router, switch, base station, or any electronic device, network device, or computer-related device.
[0108] Throughout the embodiment of the present invention, the sending unit time information from the server sends the live playback start time and the current time from the server to the client, so that the client can obtain, according to the live playback start time and the current server time, the location indication information of the media fragment file which is needed to be played by the client, and further obtain the media fragment file corresponding to the indication information server location in order to deploy the HTTP-based streaming media live playback service. There is no need to extend the HTTP protocol or add additional functions to the server, and existing basic installations can make full use of this, so as to save investments and reduce costs.
[0109] As shown in Figure 13, an embodiment of the present invention provides a network system, which includes: a server 1302, configured to: send live playback start time and server current time to a client, so that the client can determine, according to the live playback start time and the server's current time, the location indication information of a media fragment file which is required to display; receive the location indication information which is from the media fragment file which is required to be displayed on the client; get the media fragment file according to the location indication information which is of the media fragment file which is required to display on the client; and send the media fragment file to the client; and a client device 1304, configured to: receive the live playback starting time and server current time from the server, determine, according to the live playback starting time and the server current time, the indication information of location of the media fragment file that is required to display, send to the server the location information of the media fragment file that is required to be displayed, receive a media fragment file from the server corresponding to the location information of the media fragment file from which display is required, and play the media fragment file.
[0110] Server 1302 is further configured to store each fragment of transmission media media as a single file.
[0111] In the embodiment of the present invention, the live playback start time sent by the server to the client may be transported in a HyperText Transfer Protocol (HTTP) header last-modified file or in a Hypertext Transfer Protocol (HTTP) description file. media presentation, and the current server time sent to the client can be transported in HyperText Transfer Protocol (HTTP) header data.
[0112] In the embodiment of the present invention, the server 1302 can be a transmission server, and the client device 1304 can be a mobile phone, computer, personal digital assistant (Personal Digital Assistant, PDA), small server, home appliance, router, switch, base station, or any electronic device, network device, or computer-related device. The network system connection mode can be wired or wireless connected. The wireless connection mode can be: Global System for Mobile Communication (Global System for Mobile Communication, GSM), Broadband Code Division Multiple Access (Broadband Code Division Multiple Access, WCDMA), Synchronized Code Division Multiple Access - Time Division (Synchronized Code Division Multiple Access - Time Division, TD-SCDMA), Code Division Multiple Access (Code Division Multiple Access, CDMA), Worldwide Interoperability for Microwave Access (Worldwide Interoperability for Microwave Access, WIMAX), Wireless Local Area Network (Wireless Local Area Network, WLAN), or Long Term Evolution (Long Term Evolution, LTE).
[0113] Throughout the embodiment of the present invention, the sending unit time information from the server sends the live playback start time and the current time from the server to the client, so that the client can obtain, according to the live playback start time and the current server time, the location indication information of the media fragment file which is needed to be played by the client, and further obtain the media fragment file corresponding to the indication information server location in order to deploy the HTTP-based streaming media live playback service. There is no need to extend HTTP or add additional server functions, and existing basic installations can make full use of this to save investments and reduce costs. Furthermore, due to the fact that each piece of media is stored on the server as an independent file, the piece of media can be obtained directly through the location indication information, in order to avoid frequent access of the same file and improve efficiency of a live playback.
[0114] The units and calculation steps of examples described in the embodiments of the present invention can be implemented through electronic hardware, or computer software, or a combination of electronic hardware and computer software. To clarify the interchangeability between hardware and software, the preceding description clarified, in general, the composition and steps of the modalities according to the functions. Whether the functions are implemented by hardware or software depends on the specific application of the technical solutions and the constraint conditions of the model. The person skilled in the art can use different methods to implement the functions described in each specific application, but such implementation should be considered within the scope of the embodiments of the present invention.
[0115] The method or algorithm steps described herein may be implemented through hardware, a software module executed by a processor, or a combination of hardware and software. The software module can be placed in random access memory (RAM), computer memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, recorder, hard disk, removable disk, CD-ROM, or any other storage medium.
[0116] The above description is merely about the exemplary implementation of the present invention, but is not intended to limit the scope of protection of the present invention. Any modifications, variations or substitutions that can easily be produced by a person skilled in the art within the scope of the art presented by the present invention shall fall within the scope of protection of the present invention. Therefore, the scope of protection of the present invention is subject to the attached claims.
权利要求:
Claims (7)
[0001]
1. Method to implement a transmission service based on Hypertext Transfer Protocol (HTTP), characterized by the fact that it comprises: receiving, through a server having a processor, a request from a client, and returning a response to the client, which carries a media presentation description file and carries a live play start time and a current server time; receive, by the server, a client uniform resource locator that was generated based on the start time of live and current playback from the server, and get a corresponding media fragment file; return the corresponding media fragment file to the client for playback on the client, where the uniform resource locator is determined by the client, and is used by the client to request the corresponding media fragment file from the server, where the media presentation description file comprises a localization template. uniform resource locator to be used by the client to generate the uniform resource locator corresponding to a piece of media to be played; and receiving, by the server, a next uniform resource locator, the next uniform resource locator being based on a gradually increasing file sequence number, the uniform resource locator generated by the client, which replaces a variable in the file locator template. uniform feature with the sequence number.
[0002]
2. Method, according to claim 1, characterized in that: it returns, by the server, the response that carries the media presentation description file according to the media presentation description file request to the client further comprises: transporting the server's current time in a date field of a HyperText Transfer Protocol (HTTP) header to notify the client.
[0003]
3. Method according to claim 1, characterized in that the response carries the start time of live playback in the media presentation description file or in a last modified field of a Transfer Protocol header. Hypertext (HTTP).
[0004]
4. Method to implement a transmission service based on Hypertext Transfer Protocol (HTTP), characterized by the fact that it comprises: sending, through a client device, a request to a server, where the request is used for the server returns, according to the request, a response that transports a media presentation description file to the client device, wherein the media presentation description file comprises a uniform resource locator model; configure, by the client device , a time synchronization relationship with the server; determine, by the client device, a uniform resource locator of a media fragment to be played based at least in part on a live play start time and a current time of the server; send, by the client device to the server, the uniform resource locator corresponding to the media fragment to be played, to request an air media fragment file; receive the media fragment that matches the uniform resource locator from the server and play the media fragment file; and send, by the client device, a next uniform resource locator, the next uniform resource locator being based on a gradually increasing file sequence number, the next uniform resource locator generated by the client device, which replaces a variable in the model of uniform resource locator with sequence number.
[0005]
5. Method according to claim 4, characterized in that: according to the current server time and the live playback start time, the client calculates a sequence number L of a last fragment file of media that is played live, and assigns the file sequence number L to a local variable N that represents a sequence number of a file that is to be fetched, where L is fetched via:L=int((T-T0 )/Ts), where T is the current server time, T0 is the live playback start time, Ts is the media fragment time period, int() is a rounding function, and int(x) represents an integer not greater than x.
[0006]
6. Method according to claim 4, characterized in that it further comprises receiving a live playback start time in the media presentation description file or in a last modified field of a transfer protocol header. hypertext (HTTP).
[0007]
Method according to claim 4, characterized in that it further comprises receiving the current time from the server in a date field of a hypertext transfer protocol header.
类似技术:
公开号 | 公开日 | 专利标题
BR112012001150B1|2021-06-29|METHOD FOR IMPLEMENTING HTTP-BASED TRANSMISSION SERVICE
ES2710702T3|2019-04-26|Live timing for adaptive dynamic streaming over HTTP |
CA2807157C|2016-04-19|Manifest file updates for network streaming of coded video data
US8510375B2|2013-08-13|Apparatus and methods for time mapping media segments in streaming media files
ES2870552T3|2021-10-27|Procedure and apparatus for transmitting and receiving content based on adaptive Streaming mechanism
BRPI0923917B1|2021-05-25|MACHINE IMPLEMENTED METHOD, MACHINE-READABLE, NON TRANSIENT STORAGE MEDIUM, AND DATA PROCESSING SYSTEM FOR CONTINUOUS TRANSMISSION IN REAL-TIME OR NEAR REAL-TIME
ES2865448T3|2021-10-15|Packet loss management procedure in transmissions based on the dash standard and the flute protocol
TW201725911A|2017-07-16|Determining media delivery event locations for media transport
CN105828096B|2020-05-15|Method and device for processing media stream file
US20160127798A1|2016-05-05|Content supply device, content supply method, program, and content supply system
US20160134900A1|2016-05-12|Streaming media processing method, apparatus, and system
TW201234839A|2012-08-16|Real-time or near real-time streaming
CN105282627A|2016-01-27|Method for acquiring a live video clip and server
KR101743228B1|2017-06-05|Streaming apparatus and method thereof, streaming service system using the streaming apparatus and computer readable recording medium
EP3257225A1|2017-12-20|Systems and methods for generalized http headers in dynamic adaptive streaming over http |
US20180191803A1|2018-07-05|Low latency media streaming
BR112019020629A2|2020-04-22|segment types such as delimiters and addressable resource identifiers
BR112020022899A2|2021-02-23|flag, in a manifest file, missing sections of media data for streaming network
BR112020015214A2|2021-01-26|dynamic conditional ad insertion
Ma et al.2011|Video rate adaptation in mobile devices via HTTP progressive download of stitched media files
CN111541903A|2020-08-14|Live broadcast acceleration method, source station end, edge node, client and live broadcast system
BR112020014495A2|2020-12-01|dynamic network content processing of an iso bmff network resource range
JPWO2017195668A1|2019-03-14|Reception device and data processing method
WO2021195398A1|2021-09-30|Determination of availability of chunks of data for network streaming media data
BR112013002686B1|2021-10-26|METHOD AND DEVICE TO RETRIEVE MULTIMEDIA DATA, METHOD AND DEVICE TO SEND INFORMATION TO MULTIMEDIA DATA, AND COMPUTER-READABLE MEMORY
同族专利:
公开号 | 公开日
JP2013500652A|2013-01-07|
JP5500531B2|2014-05-21|
KR101361021B1|2014-02-10|
US9338216B2|2016-05-10|
AU2010314582B2|2015-03-12|
KR20120036901A|2012-04-18|
WO2011054281A1|2011-05-12|
EP2437465A4|2012-05-16|
US20120110138A1|2012-05-03|
BR112012001150A2|2016-02-23|
AU2010314582A1|2012-10-11|
EP2437465A1|2012-04-04|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

CN1155199C|1998-02-23|2004-06-23|国际商业机器公司|Sequential chaining thermal target and continuous flow video browsing device in wanwei network browsing device|
US7779097B2|2000-09-07|2010-08-17|Sonic Solutions|Methods and systems for use in network management of content|
AU4691001A|2000-04-14|2001-10-30|Nippon Telegraph & Telephone|Method, system, and apparatus for acquiring information concerning broadcast information|
AT464740T|2000-12-15|2010-04-15|British Telecomm|TRANSFER OF SOUND AND / OR PICTURE MATERIAL|
US7159014B2|2001-06-04|2007-01-02|Fineground Networks|Method and system for efficient and automated version management of embedded objects in web documents|
KR100983650B1|2003-06-27|2010-09-24|주식회사 케이티|Method for interactive data transfer based on set-top box|
US7392316B2|2003-06-30|2008-06-24|Microsoft Corporation|Client to server streaming of multimedia content using HTTP|
JP2007528140A|2003-10-10|2007-10-04|コーニンクレッカフィリップスエレクトロニクスエヌヴィ|Multimedia content distribution method via distribution network|
US7912218B2|2003-07-04|2011-03-22|Nxp B.V.|Method of broadcasting multimedia content via distribution network|
US7392348B2|2003-08-06|2008-06-24|International Business Machines Corporation|Method for validating remotely cached dynamic content web pages|
US20050066371A1|2003-09-19|2005-03-24|Bin Lu|Mobile digital security system and method|
WO2005086016A1|2004-03-03|2005-09-15|Packetvideo Network Solutions, Inc.|System and method for retrieving digital multimedia content from a network node|
US20050232251A1|2004-04-14|2005-10-20|Nortel Networks Limited|Personal communication device having multiple user IDs|
US20050254526A1|2004-05-12|2005-11-17|Nokia Corporation|Parameter sets update in streaming applications|
US9130799B2|2005-03-23|2015-09-08|Alcatel Lucent|System and method for effectuating playlist seeking with respect to digital multimedia content from a network node|
US9386064B2|2006-06-09|2016-07-05|Qualcomm Incorporated|Enhanced block-request streaming using URL templates and construction rules|
JP4946227B2|2006-07-18|2012-06-06|ソニー株式会社|Data recording apparatus, data processing method, computer program, and data storage medium|
JP4862600B2|2006-10-12|2012-01-25|パナソニック電工株式会社|Display device for residential equipment monitoring system|
JP5006659B2|2007-01-30|2012-08-22|キヤノン株式会社|Video transmission device, video transmission method, program, and storage medium|
CN101282348B|2007-04-06|2011-03-30|上海晨兴电子科技有限公司|Method for implementing flow medium function using HTTP protocol|
US7991904B2|2007-07-10|2011-08-02|Bytemobile, Inc.|Adaptive bitrate management for streaming media over packet networks|
KR101418591B1|2007-10-05|2014-07-10|삼성전자주식회사|Apparatus and method for announcing service guides in mobile communication system|
US8819741B2|2008-04-03|2014-08-26|Microsoft Corporation|Streaming video over a wireless network|
CN101271720B|2008-04-22|2011-06-22|中兴通讯股份有限公司|Synchronization process for mobile phone stream media audio and video|
US8611428B1|2008-05-08|2013-12-17|Velti USA, Inc.|Transparent insertion of multimedia content in real-time streaming sessions|
US8073829B2|2008-11-24|2011-12-06|Microsoft Corporation|HTTP cache with URL rewriting|
CN101516057B|2009-02-19|2011-12-14|深圳市彩秀科技有限公司|Method for realizing streaming media through mobile terminal|
US8909806B2|2009-03-16|2014-12-09|Microsoft Corporation|Delivering cacheable streaming media presentations|
US8392598B2|2009-06-15|2013-03-05|Research In Motion Limited|Methods and apparatus to facilitate client controlled sessionless adaptation|
US8412841B1|2009-08-17|2013-04-02|Adobe Systems Incorporated|Media content streaming using stream message fragments|
US20110246660A1|2009-09-29|2011-10-06|Nokia Corporation|Systems, Methods, and Apparatuses for Media File Streaming|
US9237387B2|2009-10-06|2016-01-12|Microsoft Technology Licensing, Llc|Low latency cacheable media streaming|
KR20120010089A|2010-07-20|2012-02-02|삼성전자주식회사|Method and apparatus for improving quality of multimedia streaming service based on hypertext transfer protocol|US8412841B1|2009-08-17|2013-04-02|Adobe Systems Incorporated|Media content streaming using stream message fragments|
WO2011087449A1|2010-01-18|2011-07-21|Telefonaktiebolaget L M Ericsson |Methods and arrangements for http media stream distribution|
CN102694769B|2011-03-22|2015-09-30|华为技术有限公司|Media data processing method and device thereof|
KR101678540B1|2011-09-30|2016-11-22|후아웨이 테크놀러지 컴퍼니 리미티드|Method and device for transmitting streaming media|
US9438883B2|2012-04-09|2016-09-06|Intel Corporation|Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content|
US9680689B2|2013-02-14|2017-06-13|Comcast Cable Communications, Llc|Fragmenting media content|
US9432427B2|2013-07-25|2016-08-30|Futurewei Technologies, Inc.|System and method for effectively controlling client behavior in adaptive streaming|
US10015222B2|2013-09-26|2018-07-03|Arris Canada, Inc.|Systems and methods for selective retrieval of adaptive bitrate streaming media|
GB2519118A|2013-10-10|2015-04-15|Ibm|Web page reload|
WO2015138798A1|2014-03-13|2015-09-17|Verance Corporation|Interactive content acquisition using embedded codes|
US10504200B2|2014-03-13|2019-12-10|Verance Corporation|Metadata acquisition using embedded watermarks|
US20150261753A1|2014-03-13|2015-09-17|Verance Corporation|Metadata acquisition using embedded codes|
KR101600469B1|2014-07-16|2016-03-07|김재경|Operating method of client and server for streaming service|
WO2016028936A1|2014-08-20|2016-02-25|Verance Corporation|Watermark detection using a multiplicity of predicted patterns|
US9602891B2|2014-12-18|2017-03-21|Verance Corporation|Service signaling recovery for multimedia content using embedded watermarks|
EP3249939B1|2015-02-12|2020-01-08|Huawei Technologies Co. Ltd.|Multi-media streaming service presentation method, relevant device and relevant system|
US10257284B2|2015-12-30|2019-04-09|Samsung Electronics Co., Ltd.|Broadcasting local function templates to proximate mobile computing devices|
KR101743228B1|2016-01-22|2017-06-05|네이버 주식회사|Streaming apparatus and method thereof, streaming service system using the streaming apparatus and computer readable recording medium|
US10079884B2|2016-03-14|2018-09-18|Adobe Systems Incorporated|Streaming digital content synchronization|
CN106060071A|2016-06-27|2016-10-26|杭州当虹科技有限公司|Live stream video real-time editing system|
KR101863598B1|2016-07-29|2018-06-01|주식회사 에어브로드|Operating method of client for streaming service|
CN107197363B|2017-07-04|2020-07-10|武汉斗鱼网络科技有限公司|Video playing method and device|
法律状态:
2017-08-22| B25A| Requested transfer of rights approved|Owner name: SNAPTRACK, INC. (US) |
2019-01-08| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]|
2020-01-14| B15K| Others concerning applications: alteration of classification|Free format text: A CLASSIFICACAO ANTERIOR ERA: H04L 29/08 Ipc: H04L 29/06 (1990.01), H04L 29/08 (1990.01) |
2020-01-21| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]|
2021-04-20| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2021-06-29| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 02/11/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, , QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |
优先权:
申请号 | 申请日 | 专利标题
CN 200910110053|CN102055773B|2009-11-09|2009-11-09|Method for realizing HTTP-based stream media service, system and network equipment|
CN200910110053.8|2009-11-09|
CN 201010282187|CN102055789B|2009-11-09|2009-11-09|Method, system and network equipment for realizing streaming media service based on hyper text transport protocol |
CN201010282187.0|2009-11-09|
PCT/CN2010/078343|WO2011054281A1|2009-11-09|2010-11-02|Method, system and network equipment for implementing http-based streaming media service|
[返回顶部]